// 封装axios
// 01: 给axiso 设置 baseurl timeout  headers 
// 02: 请求拦截器和响应拦截器

import axios from 'axios'
// 引入cookie
import Cookies from 'js-cookie'

// 请求拦截器 (所有的请求都拦截)
axios.interceptors.request.use(function (config) {
    // 给请求头设置token 
    // 01: 首先获取登录时存的cookie 
    // console.log(config);
    const jwt = Cookies.get('jwt')
    if (jwt) {
        config.headers['Authorization'] = jwt
    }
    return config;
}, function (error) {
    // Do something with request error
    return Promise.reject(error);
});

// 响应拦截器
axios.interceptors.response.use(function (response) {
    // 第一种: 根据后端的接口获取响应的状态码,根据状态码判断做一些友好提示
    // 第二种: 每次的接口返回的字段中都有一个token ,用该token 更新本地存的token 
    // 将该token 存到本地,然后下一次请求拦截器会又把最新的token 传给后端,方便验证是否超时

    return response;
}, function (error) {
    // Do something with response error
    return Promise.reject(error);
});

export default axios